/**
 * 
 */
package ac.svn.accesscontrol.manager;

import java.util.HashMap;
import java.util.Map;
import java.util.Set;

import ac.svn.accesscontrol.store.SVNTag;

/**
 * @author Enigmanic
 *
 */

public class SVNTagManager 
{
	private static SVNTagManager tagManager =new SVNTagManager();
	private Map<String,SVNTag> tagsMap;
	private SVNTagManager()
	{
		tagsMap = new HashMap<String, SVNTag>();
	}
	
	/**
	 * For singleton instance. 
	 *   
	 **/	
	public static SVNTagManager getTagManager() {
		if(null == tagManager)
		{
			tagManager = new SVNTagManager();
		}
		return tagManager;
	}
	
	public SVNTag getSvnTag(String tagId)
	{
		return getTagManager().tagsMap.get(tagId);		
	}
	
	public void updateTag(String tagId,SVNTag tag)
	{
		getTagManager().tagsMap.put(tagId, tag);
	}
	
	public Set<String> getTagIds()
	{
		return getTagManager().tagsMap.keySet();		
	}
	
	public void clearTags()
	{
		getTagManager().tagsMap.clear();
	}
	
}
